iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 16
0
Cloud Native

資安效能,兩全其美系列 第 16

技術乾貨第二彈 —— 快取 API 回應的7個原因【鐵人挑戰16天】

  • 分享至 

  • xImage
  •  

在【超狂技術乾貨!使用快取提升 API 性能步驟大公開!】文章中,我們經由測試對比了本機和網路環境中,啟用和禁用 API 快取的情況下,應用程式的處理速度差異,並且發現效果差距其實還挺大的(處理速度提升了21%)。是否已經有開發者考慮在自己的應用中使用 API 快取了?

但是具體該如何進行?有什麼注意事項?歡迎繼續閱讀本篇後續內容。

為何快取?具體快取什麼?

首先很多人可能會提出一個問題:為何單單要為 API 的回應來建立快取?原因有七點:

◆ 大部分 API 操作本質上其實是讀取操作。
◆ 既然資料不會發生變化,又何必每次都重新生成?
◆ 雲服務提供者會按照 IOPS 和實例規模來收費,如果用快取代替每次重新生成回應的操作,可以節省多少計算資源,進而成本能減低多少?
◆ 減少網路流量,後母後啊?
◆ 降低資料庫查詢/計算成本,後母後啊?
◆ 如果源站遇到問題,依然可以經由快取的回應來提供過去的結果,雖然可能有點過時,但至少服務不會中斷。
◆ 降低速率限制機制有可能產生的不利影響(例如合法API使用者因為限速而無法使用API)。

那麼接下來可能會有人要問:我到底需要快取哪些內容?一般來說,只要是符合下列特徵的內容,都可以放在快取裡:

◆ 任何可經由 HTTP GET 瀏覽的資源
◆ 靜態資料
◆ 始終不變的回應結果
◆ 變化頻率低,或者會按照固定週期變化的回應結果
◆ 大部分使用者端會使用的回應結果(頻繁請求的資料)

API 快取、最佳化、管理,交給它就對了

到底實際上哪些內容適合放在快取裡,主要取決於不同的 API 和產品到底是什麼而定,甚至可能需要對每種 API 創立不同的快取策略。其實沒有什麼統一的標準答案!

隨著 API 技術的爆炸性成長,越來越多企業和開發者開始藉助 API 打造嶄新的應用。而經由各種方式最佳化 API 的交付和管理,也就顯得比過去的任何時候來得更重要。Akamai API 閘道服務為企業和開發者提供全方位的快取管理解決方案。借此,使用者將可以藉助全球最大、最值得信賴的雲端交付平台部署自己的 API,進而簡化 API 的管理並將可靠性提升到最極致。

該服務最大的特色在於,每位 API 開發者均可使用該服務為每種 API 創立不同的快取規則,進而結合實際需求和具體情況來進行 API 交互的最佳化。

現在,Akamai 的每個邊緣伺服器都可以當成是 API 閘道。簡而言之,Akamai 在全球部署的超過200,000台伺服器,都可為你所用,為你的 API 應用加速!

Akamai API 閘道經由驗證、授權並控制來自 API 使用者的請求,從而管理 API 流量。藉助Akamai 的雲端交付平台所提供的最大化可擴展性與可靠性,該平台每天交付超過4450億次 API 點擊量。而使用者無需自行建置和管理相關基礎架構,可以將更多時間用於 API 的策略、設計和實施。

https://ithelp.ithome.com.tw/upload/images/20181031/20112135U0vjoDk5Zy.jpg

與市面上其他類似的 API 管理服務相比,Akamai API Gateway 有些特色非常突出:

https://ithelp.ithome.com.tw/upload/images/20181031/20112135PqzsOKXdRh.jpg
支持 Swagger 和 RAML

支援 Swagger 或 RAML 格式的 API 定義,無需繁瑣操作即可輕鬆導入現有 API。API Gateway 會提取 API 定義檔,用來瞭解 API 的所有資訊,隨後使用者即可以此為基礎開始封裝 Akamai 服務。

https://ithelp.ithome.com.tw/upload/images/20181031/2011213510j7pcUlUl.png
可擴展的存取控制

因為 API 金鑰提供強大的身份驗證機制,使用者可以經由簡單直覺的介面建立、管理金鑰集的生命週期,確保只有資格符合的使用者才能呼叫 API。身份驗證在網路邊緣進行,無需在原始伺服器上執行查詢,因此不會增加原始伺服器的負擔。API 閘道還可在邊緣驗證 JSON Web Token(JWT)以進行授權,從而無需為了驗證Token而在原始伺服器和後續資料庫之間來回查詢。

https://ithelp.ithome.com.tw/upload/images/20181031/20112135HkEpy2Uc5A.jpg
強制使用者配額

可針對使用者或應用程式設定請求配額。配額可分別應用在集合中的所有金鑰,意思就是說如果指定每小時100個請求的配額,則每個金鑰將擁有自己的100個請求池。借此來啟用分層瀏覽,以強制執行業務 SLA。

https://ithelp.ithome.com.tw/upload/images/20181031/201121353zA0C4yWum.jpg
進一步增強 API 能力

將 Akamai API 閘道服務與 Akamai 的其他產品和解決方案配合使用,還可進一步發揮 API 的更多能力。例如,將 API 閘道與 Akamai Kona Site Defender 配合使用,即可保護 API 免受惡意流量侵害;此外還可以經由 Akamai Ion 為 API 添加其他快取和協議最佳化功能,例如為 API 流量啟用 HTTP/2。

四大優勢進一步最佳化你的 API

API能讓「以客戶為中心」的全新商業模式夢想成真,因此至關重要。Akamai API 閘道提供所有 API 使用者單個入口點、維護與 API 後端的安全連接、並管理 API 流量。Akamai Intelligent Platform™ 在網路邊緣提供 API 閘道功能,可對 API 瀏覽進行精細控制,將其可擴展性與可靠性最大化。將管理、身份驗證和授權推播至網路邊緣,成為每個使用者體驗的核心。

https://ithelp.ithome.com.tw/upload/images/20181031/20112135Su6m9TnQqB.png


https://ithelp.ithome.com.tw/upload/images/20181022/20112135LwOIpVXgFR.png


上一篇
豬隊友4 ni? 資料不斷外洩,如何確保自己不被牽連?【鐵人挑戰15天】
下一篇
如何向全球進行低延遲高品質OTT視訊直播【鐵人挑戰17天】
系列文
資安效能,兩全其美30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言